<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>面向对象编程语言 in运算符</title>
</head>
<body>
<script>
    /*对象的分类
    *       1.内建对象 是由ES标准中定义的对象，在任何JS中都可以使用
    *                   比如Boolean String Function Nunmber Math Object...
    *       2.宿主对象 由JS运行环境提供的对象，主要是浏览器提供的对象
    *                   比如DOM BOM console document
    *       3.自定义对象 由开发人员创建的对象
    *   接下来讲自定义对象
    *   构造函数 有new关键字调用的函数，是专门创建对象的函数 使用typeof检查类型是返回object
    *   1.在对象中保存的值为属性，向对象中添加属性
    *       语法： 对象.属性名=属性值
    *   2.读取对象中的属性
    *       语法:对象.属性名
    *   3.修改对象的属性
    *       语法:对象.属性名=属性值
    *   4.删除对象的属性
    *       语法：delete 对象.属性名
    *   属性名 尽量按照标识符的规范去命名，如果使用特殊的属性名，不能采用.的形式来操作
    *               语法 :对象["属性名"]=属性值+
    *               读取时也需要采用这种方式 console.log(对象["属性名"]);
    *               对象 [] 比较灵活用的较多  []里传的是变量
    *   属性值 可以是任意的数据类型
    *   in运算符 通过该运算符可以检查一个对象中是否含有指定的属性
    *           如果有 则返回true 如果没有 则返回false
    */
    var obj=new Object();
    //向obj中添加一个name 属性
    obj.name="孙悟空";
    obj.gender="男";
    obj.age=25;
    delete obj.name;//删除name属性
    // obj.123=789;//  这样写属性名是不对 遇到特殊字符 比如123 需要下面的操作[]
    obj["123"]=789;
    console.log(obj["123"]);
    obj["10103"]=23333;
    var n="10103";
    console.log(obj[n]);
    console.log(["123"] in obj);//true
</script>
</body>
</html>